/*
 RequireJS 2.1.14 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.
 Available via the MIT or new BSD license.
 see: http://github.com/jrburke/tbquirejs for details
*/
var tbquirejs, tbquire, tbfine;
(function(ba) {
        function G(b) {
            return "[object Function]" === K.call(b)
        }
        function H(b) {
            return "[object Array]" === K.call(b)
        }
        function v(b, c) {
            if (b) {
                var d;
                for (d = 0; d < b.length && (!b[d] || !c(b[d], d, b)); d += 1)
                    ;
            }
        }
        function T(b, c) {
            if (b) {
                var d;
                for (d = b.length - 1; -1 < d && (!b[d] || !c(b[d], d, b)); d -= 1)
                    ;
            }
        }
        function t(b, c) {
            return fa.call(b, c)
        }
        function m(b, c) {
            return t(b, c) && b[c]
        }
        function B(b, c) {
            for (var d in b)
                if (t(b, d) && c(b[d], d))
                    break
        }
        function U(b, c, d, e) {
            c && B(c, function(c, g) {
                if (d || !t(b, g))
                    e && "object" === typeof c && c && !H(c) && !G(c) && !(c instanceof RegExp) ? (b[g] || (b[g] = {}),
                        U(b[g], c, d, e)) : b[g] = c
            });
            return b
        }
        function u(b, c) {
            return function() {
                return c.apply(b, arguments)
            }
        }
        function ca(b) {
            throw b;
        }
        function da(b) {
            if (!b)
                return b;
            var c = ba;
            v(b.split("."), function(b) {
                c = c[b]
            });
            return c
        }
        function C(b, c, d, e) {
            c = Error(c + "\nhttp://tbquirejs.org/docs/errors.html#" + b);
            c.tbquireType = b;
            c.tbquireModules = e;
            d && (c.originalError = d);
            return c
        }
        function ga(b) {
            function c(a, k, b) {
                var f, l, c, d, e, g, i, p, k = k && k.split("/"), h = j.map, n = h && h["*"];
                if (a) {
                    a = a.split("/");
                    l = a.length - 1;
                    j.nodeIdCompat && Q.test(a[l]) && (a[l] = a[l].replace(Q, ""));
                    "." === a[0].charAt(0) && k && (l = k.slice(0, k.length - 1),
                        a = l.concat(a));
                    l = a;
                    for (c = 0; c < l.length; c++)
                        if (d = l[c],
                        "." === d)
                            l.splice(c, 1),
                                c -= 1;
                        else if (".." === d && !(0 === c || 1 == c && ".." === l[2] || ".." === l[c - 1]) && 0 < c)
                            l.splice(c - 1, 2),
                                c -= 2;
                    a = a.join("/")
                }
                if (b && h && (k || n)) {
                    l = a.split("/");
                    c = l.length;
                    a: for (; 0 < c; c -= 1) {
                        e = l.slice(0, c).join("/");
                        if (k)
                            for (d = k.length; 0 < d; d -= 1)
                                if (b = m(h, k.slice(0, d).join("/")))
                                    if (b = m(b, e)) {
                                        f = b;
                                        g = c;
                                        break a
                                    }
                        !i && (n && m(n, e)) && (i = m(n, e),
                            p = c)
                    }
                    !f && i && (f = i,
                        g = p);
                    f && (l.splice(0, g, f),
                        a = l.join("/"))
                }
                return (f = m(j.pkgs, a)) ? f : a
            }
            function d(a) {
                z && v(document.getElementsByTagName("script"), function(k) {
                    if (k.getAttribute("data-tbquiremodule") === a && k.getAttribute("data-tbquirecontext") === i.contextName)
                        return k.parentNode.removeChild(k),
                            !0
                })
            }
            function e(a) {
                var k = m(j.paths, a);
                if (k && H(k) && 1 < k.length)
                    return k.shift(),
                        i.tbquire.undef(a),
                        i.makeRequire(null, {
                            skipMap: !0
                        })([a]),
                        !0
            }
            function n(a) {
                var k, c = a ? a.indexOf("!") : -1;
                -1 < c && (k = a.substring(0, c),
                    a = a.substring(c + 1, a.length));
                return [k, a]
            }
            function p(a, k, b, f) {
                var l, d, e = null, g = k ? k.name : null, j = a, p = !0, h = "";
                a || (p = !1,
                    a = "_@r" + (K += 1));
                a = n(a);
                e = a[0];
                a = a[1];
                e && (e = c(e, g, f),
                    d = m(r, e));
                a && (e ? h = d && d.normalize ? d.normalize(a, function(a) {
                    return c(a, g, f)
                }) : -1 === a.indexOf("!") ? c(a, g, f) : a : (h = c(a, g, f),
                    a = n(h),
                    e = a[0],
                    h = a[1],
                    b = !0,
                    l = i.nameToUrl(h)));
                b = e && !d && !b ? "_unnormalized" + (O += 1) : "";
                return {
                    prefix: e,
                    name: h,
                    parentMap: k,
                    unnormalized: !!b,
                    url: l,
                    originalName: j,
                    isDefine: p,
                    id: (e ? e + "!" + h : h) + b
                }
            }
            function s(a) {
                var k = a.id
                    , b = m(h, k);
                b || (b = h[k] = new i.Module(a));
                return b
            }
            function q(a, k, b) {
                var f = a.id
                    , c = m(h, f);
                if (t(r, f) && (!c || c.defineEmitComplete))
                    "defined" === k && b(r[f]);
                else if (c = s(a),
                c.error && "error" === k)
                    b(c.error);
                else
                    c.on(k, b)
            }
            function w(a, b) {
                var c = a.tbquireModules
                    , f = !1;
                if (b)
                    b(a);
                else if (v(c, function(b) {
                    if (b = m(h, b))
                        b.error = a,
                        b.events.error && (f = !0,
                            b.emit("error", a))
                }),
                    !f)
                    g.onError(a)
            }
            function x() {
                R.length && (ha.apply(A, [A.length, 0].concat(R)),
                    R = [])
            }
            function y(a) {
                delete h[a];
                delete V[a]
            }
            function F(a, b, c) {
                var f = a.map.id;
                a.error ? a.emit("error", a.error) : (b[f] = !0,
                    v(a.depMaps, function(f, d) {
                        var e = f.id
                            , g = m(h, e);
                        g && (!a.depMatched[d] && !c[e]) && (m(b, e) ? (a.defineDep(d, r[e]),
                            a.check()) : F(g, b, c))
                    }),
                    c[f] = !0)
            }
            function D() {
                var a, b, c = (a = 1E3 * j.waitSeconds) && i.startTime + a < (new Date).getTime(), f = [], l = [], g = !1, h = !0;
                if (!W) {
                    W = !0;
                    B(V, function(a) {
                        var i = a.map
                            , j = i.id;
                        if (a.enabled && (i.isDefine || l.push(a),
                            !a.error))
                            if (!a.inited && c)
                                e(j) ? g = b = !0 : (f.push(j),
                                    d(j));
                            else if (!a.inited && (a.fetched && i.isDefine) && (g = !0,
                                !i.prefix))
                                return h = !1
                    });
                    if (c && f.length)
                        return a = C("timeout", "Load timeout for modules: " + f, null, f),
                            a.contextName = i.contextName,
                            w(a);
                    h && v(l, function(a) {
                        F(a, {}, {})
                    });
                    if ((!c || b) && g)
                        if ((z || ea) && !X)
                            X = setTimeout(function() {
                                X = 0;
                                D()
                            }, 50);
                    W = !1
                }
            }
            function E(a) {
                t(r, a[0]) || s(p(a[0], null, !0)).init(a[1], a[2])
            }
            function I(a) {
                var a = a.currentTarget || a.srcElement
                    , b = i.onScriptLoad;
                a.detachEvent && !Y ? a.detachEvent("onreadystatechange", b) : a.removeEventListener("load", b, !1);
                b = i.onScriptError;
                (!a.detachEvent || Y) && a.removeEventListener("error", b, !1);
                return {
                    node: a,
                    id: a && a.getAttribute("data-tbquiremodule")
                }
            }
            function J() {
                var a;
                for (x(); A.length; ) {
                    a = A.shift();
                    if (null === a[0])
                        return w(C("mismatch", "Mismatched anonymous define() module: " + a[a.length - 1]));
                    E(a)
                }
            }
            var W, Z, i, L, X, j = {
                waitSeconds: 7,
                baseUrl: "./",
                paths: {},
                bundles: {},
                pkgs: {},
                shim: {},
                config: {}
            }, h = {}, V = {}, $ = {}, A = [], r = {}, S = {}, aa = {}, K = 1, O = 1;
            L = {
                tbquire: function(a) {
                    return a.tbquire ? a.tbquire : a.tbquire = i.makeRequire(a.map)
                },
                exports: function(a) {
                    a.usingExports = !0;
                    if (a.map.isDefine)
                        return a.exports ? r[a.map.id] = a.exports : a.exports = r[a.map.id] = {}
                },
                module: function(a) {
                    return a.module ? a.module : a.module = {
                        id: a.map.id,
                        uri: a.map.url,
                        config: function() {
                            return m(j.config, a.map.id) || {}
                        },
                        exports: a.exports || (a.exports = {})
                    }
                }
            };
            Z = function(a) {
                this.events = m($, a.id) || {};
                this.map = a;
                this.shim = m(j.shim, a.id);
                this.depExports = [];
                this.depMaps = [];
                this.depMatched = [];
                this.pluginMaps = {};
                this.depCount = 0
            }
            ;
            Z.prototype = {
                init: function(a, b, c, f) {
                    f = f || {};
                    if (!this.inited) {
                        this.factory = b;
                        if (c)
                            this.on("error", c);
                        else
                            this.events.error && (c = u(this, function(a) {
                                this.emit("error", a)
                            }));
                        this.depMaps = a && a.slice(0);
                        this.errback = c;
                        this.inited = !0;
                        this.ignore = f.ignore;
                        f.enabled || this.enabled ? this.enable() : this.check()
                    }
                },
                defineDep: function(a, b) {
                    this.depMatched[a] || (this.depMatched[a] = !0,
                        this.depCount -= 1,
                        this.depExports[a] = b)
                },
                fetch: function() {
                    if (!this.fetched) {
                        this.fetched = !0;
                        i.startTime = (new Date).getTime();
                        var a = this.map;
                        if (this.shim)
                            i.makeRequire(this.map, {
                                enableBuildCallback: !0
                            })(this.shim.deps || [], u(this, function() {
                                return a.prefix ? this.callPlugin() : this.load()
                            }));
                        else
                            return a.prefix ? this.callPlugin() : this.load()
                    }
                },
                load: function() {
                    var a = this.map.url;
                    S[a] || (S[a] = !0,
                        i.load(this.map.id, a))
                },
                check: function() {
                    if (this.enabled && !this.enabling) {
                        var a, b, c = this.map.id;
                        b = this.depExports;
                        var f = this.exports
                            , l = this.factory;
                        if (this.inited)
                            if (this.error)
                                this.emit("error", this.error);
                            else {
                                if (!this.defining) {
                                    this.defining = !0;
                                    if (1 > this.depCount && !this.defined) {
                                        if (G(l)) {
                                            if (this.events.error && this.map.isDefine || g.onError !== ca)
                                                try {
                                                    f = i.execCb(c, l, b, f)
                                                } catch (d) {
                                                    a = d
                                                }
                                            else
                                                f = i.execCb(c, l, b, f);
                                            this.map.isDefine && void 0 === f && ((b = this.module) ? f = b.exports : this.usingExports && (f = this.exports));
                                            if (a)
                                                return a.tbquireMap = this.map,
                                                    a.tbquireModules = this.map.isDefine ? [this.map.id] : null,
                                                    a.tbquireType = this.map.isDefine ? "tbfine" : "tbquire",
                                                    w(this.error = a)
                                        } else
                                            f = l;
                                        this.exports = f;
                                        if (this.map.isDefine && !this.ignore && (r[c] = f,
                                            g.onResourceLoad))
                                            g.onResourceLoad(i, this.map, this.depMaps);
                                        y(c);
                                        this.defined = !0
                                    }
                                    this.defining = !1;
                                    this.defined && !this.defineEmitted && (this.defineEmitted = !0,
                                        this.emit("defined", this.exports),
                                        this.defineEmitComplete = !0)
                                }
                            }
                        else
                            this.fetch()
                    }
                },
                callPlugin: function() {
                    var a = this.map
                        , b = a.id
                        , d = p(a.prefix);
                    this.depMaps.push(d);
                    q(d, "defined", u(this, function(f) {
                        var l, d;
                        d = m(aa, this.map.id);
                        var e = this.map.name
                            , P = this.map.parentMap ? this.map.parentMap.name : null
                            , n = i.makeRequire(a.parentMap, {
                            enableBuildCallback: !0
                        });
                        if (this.map.unnormalized) {
                            if (f.normalize && (e = f.normalize(e, function(a) {
                                return c(a, P, !0)
                            }) || ""),
                                f = p(a.prefix + "!" + e, this.map.parentMap),
                                q(f, "defined", u(this, function(a) {
                                    this.init([], function() {
                                        return a
                                    }, null, {
                                        enabled: !0,
                                        ignore: !0
                                    })
                                })),
                                d = m(h, f.id)) {
                                this.depMaps.push(f);
                                if (this.events.error)
                                    d.on("error", u(this, function(a) {
                                        this.emit("error", a)
                                    }));
                                d.enable()
                            }
                        } else
                            d ? (this.map.url = i.nameToUrl(d),
                                this.load()) : (l = u(this, function(a) {
                                this.init([], function() {
                                    return a
                                }, null, {
                                    enabled: !0
                                })
                            }),
                                l.error = u(this, function(a) {
                                    this.inited = !0;
                                    this.error = a;
                                    a.tbquireModules = [b];
                                    B(h, function(a) {
                                        0 === a.map.id.indexOf(b + "_unnormalized") && y(a.map.id)
                                    });
                                    w(a)
                                }),
                                l.fromText = u(this, function(f, c) {
                                    var d = a.name
                                        , e = p(d)
                                        , P = M;
                                    c && (f = c);
                                    P && (M = !1);
                                    s(e);
                                    t(j.config, b) && (j.config[d] = j.config[b]);
                                    try {
                                        g.exec(f)
                                    } catch (h) {
                                        return w(C("fromtexteval", "fromText eval for " + b + " failed: " + h, h, [b]))
                                    }
                                    P && (M = !0);
                                    this.depMaps.push(e);
                                    i.completeLoad(d);
                                    n([d], l)
                                }),
                                f.load(a.name, n, l, j))
                    }));
                    i.enable(d, this);
                    this.pluginMaps[d.id] = d
                },
                enable: function() {
                    V[this.map.id] = this;
                    this.enabling = this.enabled = !0;
                    v(this.depMaps, u(this, function(a, b) {
                        var c, f;
                        if ("string" === typeof a) {
                            a = p(a, this.map.isDefine ? this.map : this.map.parentMap, !1, !this.skipMap);
                            this.depMaps[b] = a;
                            if (c = m(L, a.id)) {
                                this.depExports[b] = c(this);
                                return
                            }
                            this.depCount += 1;
                            q(a, "defined", u(this, function(a) {
                                this.defineDep(b, a);
                                this.check()
                            }));
                            this.errback && q(a, "error", u(this, this.errback))
                        }
                        c = a.id;
                        f = h[c];
                        !t(L, c) && (f && !f.enabled) && i.enable(a, this)
                    }));
                    B(this.pluginMaps, u(this, function(a) {
                        var b = m(h, a.id);
                        b && !b.enabled && i.enable(a, this)
                    }));
                    this.enabling = !1;
                    this.check()
                },
                on: function(a, b) {
                    var c = this.events[a];
                    c || (c = this.events[a] = []);
                    c.push(b)
                },
                emit: function(a, b) {
                    v(this.events[a], function(a) {
                        a(b)
                    });
                    "error" === a && delete this.events[a]
                }
            };
            i = {
                config: j,
                contextName: b,
                registry: h,
                defined: r,
                urlFetched: S,
                defQueue: A,
                Module: Z,
                makeModuleMap: p,
                nextTick: g.nextTick,
                onError: w,
                configure: function(a) {
                    a.baseUrl && "/" !== a.baseUrl.charAt(a.baseUrl.length - 1) && (a.baseUrl += "/");
                    var b = j.shim
                        , c = {
                        paths: !0,
                        bundles: !0,
                        config: !0,
                        map: !0
                    };
                    B(a, function(a, b) {
                        c[b] ? (j[b] || (j[b] = {}),
                            U(j[b], a, !0, !0)) : j[b] = a
                    });
                    a.bundles && B(a.bundles, function(a, b) {
                        v(a, function(a) {
                            a !== b && (aa[a] = b)
                        })
                    });
                    a.shim && (B(a.shim, function(a, c) {
                        H(a) && (a = {
                            deps: a
                        });
                        if ((a.exports || a.init) && !a.exportsFn)
                            a.exportsFn = i.makeShimExports(a);
                        b[c] = a
                    }),
                        j.shim = b);
                    a.packages && v(a.packages, function(a) {
                        var b, a = "string" === typeof a ? {
                            name: a
                        } : a;
                        b = a.name;
                        a.location && (j.paths[b] = a.location);
                        j.pkgs[b] = a.name + "/" + (a.main || "main").replace(ia, "").replace(Q, "")
                    });
                    B(h, function(a, b) {
                        !a.inited && !a.map.unnormalized && (a.map = p(b))
                    });
                    if (a.deps || a.callback)
                        i.tbquire(a.deps || [], a.callback)
                },
                makeShimExports: function(a) {
                    return function() {
                        var b;
                        a.init && (b = a.init.apply(ba, arguments));
                        return b || a.exports && da(a.exports)
                    }
                },
                makeRequire: function(a, e) {
                    function j(c, d, m) {
                        var n, q;
                        e.enableBuildCallback && (d && G(d)) && (d.__tbquireJsBuild = !0);
                        if ("string" === typeof c) {
                            if (G(d))
                                return w(C("tbquireargs", "Invalid tbquire call"), m);
                            if (a && t(L, c))
                                return L[c](h[a.id]);
                            if (g.get)
                                return g.get(i, c, a, j);
                            n = p(c, a, !1, !0);
                            n = n.id;
                            return !t(r, n) ? w(C("notloaded", 'Module name "' + n + '" has not been loaded yet for context: ' + b + (a ? "" : ". Use tbquire([])"))) : r[n]
                        }
                        J();
                        i.nextTick(function() {
                            J();
                            q = s(p(null, a));
                            q.skipMap = e.skipMap;
                            q.init(c, d, m, {
                                enabled: !0
                            });
                            D()
                        });
                        return j
                    }
                    e = e || {};
                    U(j, {
                        isBrowser: z,
                        toUrl: function(b) {
                            var d, e = b.lastIndexOf("."), k = b.split("/")[0];
                            if (-1 !== e && (!("." === k || ".." === k) || 1 < e))
                                d = b.substring(e, b.length),
                                    b = b.substring(0, e);
                            return i.nameToUrl(c(b, a && a.id, !0), d, !0)
                        },
                        defined: function(b) {
                            return t(r, p(b, a, !1, !0).id)
                        },
                        specified: function(b) {
                            b = p(b, a, !1, !0).id;
                            return t(r, b) || t(h, b)
                        }
                    });
                    a || (j.undef = function(b) {
                            x();
                            var c = p(b, a, !0)
                                , e = m(h, b);
                            d(b);
                            delete r[b];
                            delete S[c.url];
                            delete $[b];
                            T(A, function(a, c) {
                                a[0] === b && A.splice(c, 1)
                            });
                            e && (e.events.defined && ($[b] = e.events),
                                y(b))
                        }
                    );
                    return j
                },
                enable: function(a) {
                    m(h, a.id) && s(a).enable()
                },
                completeLoad: function(a) {
                    var b, c, d = m(j.shim, a) || {}, g = d.exports;
                    for (x(); A.length; ) {
                        c = A.shift();
                        if (null === c[0]) {
                            c[0] = a;
                            if (b)
                                break;
                            b = !0
                        } else
                            c[0] === a && (b = !0);
                        E(c)
                    }
                    c = m(h, a);
                    if (!b && !t(r, a) && c && !c.inited) {
                        if (j.enforceDefine && (!g || !da(g)))
                            return e(a) ? void 0 : w(C("nodefine", "No define call for " + a, null, [a]));
                        E([a, d.deps || [], d.exportsFn])
                    }
                    D()
                },
                nameToUrl: function(a, b, c) {
                    var d, e, h;
                    (d = m(j.pkgs, a)) && (a = d);
                    if (d = m(aa, a))
                        return i.nameToUrl(d, b, c);
                    if (g.jsExtRegExp.test(a))
                        d = a + (b || "");
                    else {
                        d = j.paths;
                        a = a.split("/");
                        for (e = a.length; 0 < e; e -= 1)
                            if (h = a.slice(0, e).join("/"),
                                h = m(d, h)) {
                                H(h) && (h = h[0]);
                                a.splice(0, e, h);
                                break
                            }
                        d = a.join("/");
                        d += b || (/^data\:|\?/.test(d) || c ? "" : ".js");
                        d = ("/" === d.charAt(0) || d.match(/^[\w\+\.\-]+:/) ? "" : j.baseUrl) + d
                    }
                    return j.urlArgs ? d + ((-1 === d.indexOf("?") ? "?" : "&") + j.urlArgs) : d
                },
                load: function(a, b) {
                    g.load(i, a, b)
                },
                execCb: function(a, b, c, d) {
                    return b.apply(d, c)
                },
                onScriptLoad: function(a) {
                    if ("load" === a.type || ja.test((a.currentTarget || a.srcElement).readyState))
                        N = null,
                            a = I(a),
                            i.completeLoad(a.id)
                },
                onScriptError: function(a) {
                    var b = I(a);
                    if (!e(b.id))
                        return w(C("scripterror", "Script error for: " + b.id, a, [b.id]))
                }
            };
            i.tbquire = i.makeRequire();
            return i
        }
        var g, x, y, D, I, E, N, J, s, O, ka = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg, la = /[^.]\s*tbquire\s*\(\s*["']([^'"\s]+)["']\s*\)/g, Q = /\.js$/, ia = /^\.\//;
        x = Object.prototype;
        var K = x.toString
            , fa = x.hasOwnProperty
            , ha = Array.prototype.splice
            , z = !!("undefined" !== typeof window && "undefined" !== typeof navigator && window.document)
            , ea = !z && "undefined" !== typeof importScripts
            , ja = z && "PLAYSTATION 3" === navigator.platform ? /^complete$/ : /^(complete|loaded)$/
            , Y = "undefined" !== typeof opera && "[object Opera]" === opera.toString()
            , F = {}
            , q = {}
            , R = []
            , M = !1;
        if ("undefined" === typeof define) {
            if ("undefined" !== typeof tbquirejs) {
                if (G(tbquirejs))
                    return;
                q = tbquirejs;
                tbquirejs = void 0
            }
            "undefined" !== typeof tbquire && !G(tbquire) && (q = tbquire,
                tbquire = void 0);
            g = tbquirejs = function(b, c, d, e) {
                var n, p = "_";
                !H(b) && "string" !== typeof b && (n = b,
                    H(c) ? (b = c,
                        c = d,
                        d = e) : b = []);
                n && n.context && (p = n.context);
                (e = m(F, p)) || (e = F[p] = g.s.newContext(p));
                n && e.configure(n);
                return e.tbquire(b, c, d)
            }
            ;
            g.config = function(b) {
                return g(b)
            }
            ;
            g.nextTick = "undefined" !== typeof setTimeout ? function(b) {
                    setTimeout(b, 4)
                }
                : function(b) {
                    b()
                }
            ;
            tbquire || (tbquire = g);
            g.version = "2.1.14";
            g.jsExtRegExp = /^\/|:|\?|\.js$/;
            g.isBrowser = z;
            x = g.s = {
                contexts: F,
                newContext: ga
            };
            g({});
            v(["toUrl", "undef", "defined", "specified"], function(b) {
                g[b] = function() {
                    var c = F._;
                    return c.tbquire[b].apply(c, arguments)
                }
            });
            if (z && (y = x.head = document.getElementsByTagName("head")[0],
                D = document.getElementsByTagName("base")[0]))
                y = x.head = D.parentNode;
            g.onError = ca;
            g.createNode = function(b) {
                var c = b.xhtml ? document.createElementNS("http://www.w3.org/1999/xhtml", "html:script") : document.createElement("script");
                /*c.type=b.scriptType||"text/javascript";c.charset="utf-8";*/
                c.async = !0;
                return c
            }
            ;
            g.load = function(b, c, d) {
                var e = b && b.config || {};
                if (z)
                    return e = g.createNode(e, c, d),
                        e.setAttribute("data-tbquirecontext", b.contextName),
                        e.setAttribute("data-tbquiremodule", c),
                        e.attachEvent && !(e.attachEvent.toString && 0 > e.attachEvent.toString().indexOf("[native code")) && !Y ? (M = !0,
                            e.attachEvent("onreadystatechange", b.onScriptLoad)) : (e.addEventListener("load", b.onScriptLoad, !1),
                            e.addEventListener("error", b.onScriptError, !1)),
                        e.src = d,
                        J = e,
                        D ? y.insertBefore(e, D) : y.appendChild(e),
                        J = null,
                        e;
                if (ea)
                    try {
                        importScripts(d),
                            b.completeLoad(c)
                    } catch (m) {
                        b.onError(C("importscripts", "importScripts failed for " + c + " at " + d, m, [c]))
                    }
            }
            ;
            z && !q.skipDataMain && T(document.getElementsByTagName("script"), function(b) {
                y || (y = b.parentNode);
                if (I = b.getAttribute("data-main"))
                    return s = I,
                    q.baseUrl || (E = s.split("/"),
                        s = E.pop(),
                        O = E.length ? E.join("/") + "/" : "./",
                        q.baseUrl = O),
                        s = s.replace(Q, ""),
                    g.jsExtRegExp.test(s) && (s = I),
                        q.deps = q.deps ? q.deps.concat(s) : [s],
                        !0
            });
            tbfine = function(b, c, d) {
                var e, g;
                "string" !== typeof b && (d = c,
                    c = b,
                    b = null);
                H(c) || (d = c,
                    c = null);
                !c && G(d) && (c = [],
                d.length && (d.toString().replace(ka, "").replace(la, function(b, d) {
                    c.push(d)
                }),
                    c = (1 === d.length ? ["tbquire"] : ["tbquire", "exports", "module"]).concat(c)));
                if (M) {
                    if (!(e = J))
                        N && "interactive" === N.readyState || T(document.getElementsByTagName("script"), function(b) {
                            if ("interactive" === b.readyState)
                                return N = b
                        }),
                            e = N;
                    e && (b || (b = e.getAttribute("data-tbquiremodule")),
                        g = F[e.getAttribute("data-tbquirecontext")])
                }
                (g ? g.defQueue : R).push([b, c, d])
            }
            ;
            tbfine.amd = {
                jQuery: !0
            };
            g.exec = function(b) {
                return eval(b)
            }
            ;
            g(q)
        }
    }
)(this);


